﻿<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui"
	xmlns:ui="http://java.sun.com/jsf/facelet">

<h:head>
</h:head>

<h:body>
	<p:scrollPanel mode="native" style="width:100%;height:100%;">
		<h:form id="form">
			<p:growl id="growl" life="3000" />
			<p:dataTable id="tblFuncionarios" var="func"
				value="#{funcionarioBean.funcionarios}" paginator="true" rows="10"
				style="margin-bottom:20px" rowsPerPageTemplate="5,10,15"
				emptyMessage="Nenhum funcionário cadastrado." editable="true">

				<p:ajax event="rowEdit" listener="#{funcionarioBean.onRowEdit}"
					update=":form:growl" />
				<p:ajax event="rowEditCancel"
					listener="#{funcionarioBean.onRowCancel}" update=":form:growl" />

				<f:facet name="header">
       		 		Lista de funcionários
	    		</f:facet>

				<p:column headerText="Matrícula"
					filterBy="#{func.matriculaFuncionario}" filterMatchMode="contains">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{func.matriculaFuncionario}" />
						</f:facet>
						<f:facet name="input">
							<p:inputMask mask="99999999" required="true"
								requiredMessage="Matrícula do funcionário não informada!"
								value="#{func.matriculaFuncionario}" style="width:100%" />
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column headerText="Nome" filterBy="#{func.nomeFuncionario}"
					filterMatchMode="contains">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{func.nomeFuncionario}" />
						</f:facet>
						<f:facet name="input">
							<p:inputText required="true"
								requiredMessage="Nome do funcionário não informado!"
								value="#{func.nomeFuncionario}" style="width:100%" />
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column headerText="CPF" filterBy="#{func.cpfFuncionario}"
					filterMatchMode="contains">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{func.cpfFuncionario}" />
						</f:facet>
						<f:facet name="input">
							<p:inputMask mask="999.999.999-99" required="true"
								requiredMessage="CPF do funcionário não informado!"
								value="#{func.cpfFuncionario}" />
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column headerText="Ativo">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{func.textoAtivo}" />
						</f:facet>
						<f:facet name="input">
							<p:selectBooleanButton value="#{func.ativoFuncionario}"
								onLabel="Sim" offLabel="Não" onIcon="ui-icon-check"
								offIcon="ui-icon-close" style="width:70px" />
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column headerText="Último acesso"
					filterBy="#{func.dataUltAcesso}">
					<h:outputText value="#{func.dataUltAcesso}" />
				</p:column>

				<p:column headerText="Permissão" filterBy="#{func.permissao}">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{func.textoPermissao}" />
						</f:facet>
						<f:facet name="input">
							<p:selectOneMenu value="#{func.permissao}" style="width:100%">
								<f:selectItem itemLabel="Administrador"
									itemValue="ROLE_ADMINISTRADOR" />
			﻿  ﻿  ﻿              				<f:selectItem itemLabel="Funcionario"
									itemValue="ROLE_FUNCIONARIO" />
							</p:selectOneMenu>
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column width="3%">
					<p:rowEditor />
				</p:column>

				<p:column width="3%">
					<p:commandLink action="#{funcionarioBean.excluir}"
						onclick="if (!confirm('Confirmar a exclusão do funcionário #{func.nomeFuncionario}?')) return false;"
						update=":form:tblFuncionarios">
						<h:outputText styleClass="ui-icon ui-icon-trash"
							style="margin:0 auto;" />
						<f:setPropertyActionListener value="#{func}"
							target="#{funcionarioBean.funcionario}" />
					</p:commandLink>
				</p:column>

				<f:facet name="footer">
        				Número de funcionários: #{funcionarioBean.numeroFuncionariosCadastrados()}.
   				</f:facet>
			</p:dataTable>

			<h3>Exportar</h3>
			<h:commandLink>
				<p:graphicImage url="imagens/excel.png" width="24" />
				<p:dataExporter type="xls" target="tblFuncionarios" fileName="funcs"
					pageOnly="true" />
			</h:commandLink>

			<h:commandLink>
				<p:graphicImage url="imagens/pdf.png" width="24" />
				<p:dataExporter type="pdf" target="tblFuncionarios" fileName="funcs"
					pageOnly="true" />
			</h:commandLink>
		</h:form>
	</p:scrollPanel>
</h:body>
</html>